﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000C3D RID: 3133
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class MusicRhythmLevel : IMessage<MusicRhythmLevel>, IMessage, IEquatable<MusicRhythmLevel>, IDeepCloneable<MusicRhythmLevel>, IBufferMessage
	{
		// Token: 0x17002781 RID: 10113
		// (get) Token: 0x06008C19 RID: 35865 RVA: 0x00174CD9 File Offset: 0x00172ED9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<MusicRhythmLevel> Parser
		{
			get
			{
				return MusicRhythmLevel._parser;
			}
		}

		// Token: 0x17002782 RID: 10114
		// (get) Token: 0x06008C1A RID: 35866 RVA: 0x00174CE0 File Offset: 0x00172EE0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MusicRhythmLevelReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002783 RID: 10115
		// (get) Token: 0x06008C1B RID: 35867 RVA: 0x00174CF2 File Offset: 0x00172EF2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return MusicRhythmLevel.Descriptor;
			}
		}

		// Token: 0x06008C1C RID: 35868 RVA: 0x00174CF9 File Offset: 0x00172EF9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MusicRhythmLevel()
		{
		}

		// Token: 0x06008C1D RID: 35869 RVA: 0x00174D01 File Offset: 0x00172F01
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MusicRhythmLevel(MusicRhythmLevel other) : this()
		{
			this.unlockLevel_ = other.unlockLevel_;
			this.levelId_ = other.levelId_;
			this.fullCombo_ = other.fullCombo_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06008C1E RID: 35870 RVA: 0x00174D3E File Offset: 0x00172F3E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MusicRhythmLevel Clone()
		{
			return new MusicRhythmLevel(this);
		}

		// Token: 0x17002784 RID: 10116
		// (get) Token: 0x06008C1F RID: 35871 RVA: 0x00174D46 File Offset: 0x00172F46
		// (set) Token: 0x06008C20 RID: 35872 RVA: 0x00174D4E File Offset: 0x00172F4E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint UnlockLevel
		{
			get
			{
				return this.unlockLevel_;
			}
			set
			{
				this.unlockLevel_ = value;
			}
		}

		// Token: 0x17002785 RID: 10117
		// (get) Token: 0x06008C21 RID: 35873 RVA: 0x00174D57 File Offset: 0x00172F57
		// (set) Token: 0x06008C22 RID: 35874 RVA: 0x00174D5F File Offset: 0x00172F5F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint LevelId
		{
			get
			{
				return this.levelId_;
			}
			set
			{
				this.levelId_ = value;
			}
		}

		// Token: 0x17002786 RID: 10118
		// (get) Token: 0x06008C23 RID: 35875 RVA: 0x00174D68 File Offset: 0x00172F68
		// (set) Token: 0x06008C24 RID: 35876 RVA: 0x00174D70 File Offset: 0x00172F70
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool FullCombo
		{
			get
			{
				return this.fullCombo_;
			}
			set
			{
				this.fullCombo_ = value;
			}
		}

		// Token: 0x06008C25 RID: 35877 RVA: 0x00174D79 File Offset: 0x00172F79
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as MusicRhythmLevel);
		}

		// Token: 0x06008C26 RID: 35878 RVA: 0x00174D88 File Offset: 0x00172F88
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(MusicRhythmLevel other)
		{
			return other != null && (other == this || (this.UnlockLevel == other.UnlockLevel && this.LevelId == other.LevelId && this.FullCombo == other.FullCombo && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06008C27 RID: 35879 RVA: 0x00174DE4 File Offset: 0x00172FE4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.UnlockLevel != 0U)
			{
				num ^= this.UnlockLevel.GetHashCode();
			}
			if (this.LevelId != 0U)
			{
				num ^= this.LevelId.GetHashCode();
			}
			if (this.FullCombo)
			{
				num ^= this.FullCombo.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06008C28 RID: 35880 RVA: 0x00174E55 File Offset: 0x00173055
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06008C29 RID: 35881 RVA: 0x00174E5D File Offset: 0x0017305D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06008C2A RID: 35882 RVA: 0x00174E68 File Offset: 0x00173068
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.UnlockLevel != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.UnlockLevel);
			}
			if (this.FullCombo)
			{
				output.WriteRawTag(88);
				output.WriteBool(this.FullCombo);
			}
			if (this.LevelId != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.LevelId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06008C2B RID: 35883 RVA: 0x00174EE0 File Offset: 0x001730E0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.UnlockLevel != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.UnlockLevel);
			}
			if (this.LevelId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.LevelId);
			}
			if (this.FullCombo)
			{
				num += 2;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06008C2C RID: 35884 RVA: 0x00174F44 File Offset: 0x00173144
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(MusicRhythmLevel other)
		{
			if (other == null)
			{
				return;
			}
			if (other.UnlockLevel != 0U)
			{
				this.UnlockLevel = other.UnlockLevel;
			}
			if (other.LevelId != 0U)
			{
				this.LevelId = other.LevelId;
			}
			if (other.FullCombo)
			{
				this.FullCombo = other.FullCombo;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06008C2D RID: 35885 RVA: 0x00174FA8 File Offset: 0x001731A8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06008C2E RID: 35886 RVA: 0x00174FB4 File Offset: 0x001731B4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 24U)
				{
					if (num != 88U)
					{
						if (num != 96U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.LevelId = input.ReadUInt32();
						}
					}
					else
					{
						this.FullCombo = input.ReadBool();
					}
				}
				else
				{
					this.UnlockLevel = input.ReadUInt32();
				}
			}
		}

		// Token: 0x04003592 RID: 13714
		private static readonly MessageParser<MusicRhythmLevel> _parser = new MessageParser<MusicRhythmLevel>(() => new MusicRhythmLevel());

		// Token: 0x04003593 RID: 13715
		private UnknownFieldSet _unknownFields;

		// Token: 0x04003594 RID: 13716
		public const int UnlockLevelFieldNumber = 3;

		// Token: 0x04003595 RID: 13717
		private uint unlockLevel_;

		// Token: 0x04003596 RID: 13718
		public const int LevelIdFieldNumber = 12;

		// Token: 0x04003597 RID: 13719
		private uint levelId_;

		// Token: 0x04003598 RID: 13720
		public const int FullComboFieldNumber = 11;

		// Token: 0x04003599 RID: 13721
		private bool fullCombo_;
	}
}
